package com.lanswon.qzsmk.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.lanswon.qzsmk.model.AppClassification;
import com.lanswon.qzsmk.model.AppKind;
import com.lanswon.qzsmk.vo.ApplicationDefVo;

public interface AppKindMapper {

	/**
	 * 查询所有应用类型
	 * @return
	 */
	List<AppKind> queryAppKind();

	/**
	 * 根据应用类型id 查询
	 * @param appType
	 * @return
	 */
	AppKind queryAppKindByTypeCode (Integer appType);

	/**
	 * 根据应用类型标识 查询
	 * @param appType
	 * @return
	 */
	AppKind queryAppKindByAppFalg (String appFlag);

	/**
	 * 更新卡信息
	 * @return
	 */
	AppClassification updateApplicationTypeVo (AppClassification cpv);
    
	/**
	 * 增加一条卡应用记录
	 * @return
	 */
	int insert(AppKind ak);
    
    /**分页用的
	 * 
	 * @param appKindName
	 * @return
	 */
	int countByExample (String appKindName);

    
	/**
	 * 根据id 查询
	 * @param appType
	 * @return
	 */
	List<AppKind> queryAppKindByKindID(Integer appKindId);

	
	
	/**
	 * 根据ID 查询
	 * @param appType
	 * @return
	 */
	AppKind queryAppKindByAppKindID(Integer appKindId);
	
	/**
	 * 根据应用分类查询
	 * @param appKindName
	 * @param pageNum
	 * @param numPerPage
	 * @return
	 */
	List<ApplicationDefVo> queryAppDefInfoByKindId(@Param("appKindId")String appKindId,@Param("appName")String appName,
			@Param("startLine")Integer startLine, @Param("endLine")Integer endLine);

	Integer countAllDefInfo();
	
	/**
	 * 通过应用名称查询信息
	 * @param appName
	 * @return
	 */
	Integer queryAppKindInfoByName(@Param("appName")String appName,@Param("appFlag")String appFlag);
	
	/**
	 * 更新应用定义
	 * @param appKind
	 */
	void updateAppKindInfo(AppKind appKind);	

	
}